Javascript JsTestDriver Jasmine 和 Jasmine-jquery
全部标签 想象这样一种场景,我们想要在对“foo”和“bar”的并发请求成功完成后做一些事情,或者如果其中一个或两个失败则报告错误:$.when($.getJSON('foo'),$.getJSON('bar')).then(function(foo,bar){console.log('IfireifBOTHrequestsaresuccessful!');}).fail(function(){console.log('Ifireifoneormorerequestsfailed.');});我如何确定1)对“foo”的请求是否失败,或者2)对“bar”的请求是否失败,或者3)如果两者都失败了?
我偶然发现了jQuery.fly()-flyweightpattern性能基准和查看测试代码后theplugincodeitself(alsoseebelow),我想不通它有什么用?我在互联网上搜索过,找不到有关插件本身的任何有用信息。这是一种比在.each中使用$(this)更有效的循环/迭代数组的方法吗?使用jQuery对象进行迭代a.each(function(){$(this);});使用jQuery.fly()进行迭代a.each(function(){$.fly(this);});在Firefox4.0.1中几乎快2倍在Chrome12中快了3倍.飞(function($)
过滤适用于环绕对象数组的对象(data):vararr={"data":[{"name":"Alan","height":"171","weight":"66"},{"name":"Ben","height":"182","weight":"90"},{"name":"Chris","height":"163","weight":"71"}]};varnew_arr=$.extend(true,arr);new_arr.data=$.grep(new_arr.data,function(n,i){returnn.weight>70;});alert(new_arr.data.lengt
我有一个对话框可以执行依赖于三个输入字段的计算。当它们中的任何一个发生变化时,它会检查它们是否都被填充,如果它们被处理并给出响应。它在FF、Chrome、Opera等中工作得很好,但在任何版本的IE中它就停止工作。我的jQuery的其余部分工作正常,但我无法确定问题出在哪里。我认为这可能与.change()事件或多事件绑定(bind)有关,但我真的不知道。这是有问题的代码:varloan=$("#ltv-loan-amount");varmortgage=$("#ltv-mortgage");varproperty=$("#ltv-property");$("#ltv-dialogin
我如何从一个带有parseFloat结果的文本字段中舍入一个值?该应用程序基本上会在单击时汇总所有单选按钮的值,并在文本框中显示总和。如果单选按钮的值是一个整数,下面的代码可以完美地工作,但是如果我想在单选按钮上有一个浮点值,总值将有一个100.0000000679,而它应该是100。任何提示将不胜感激。提前致谢。functioncalcscore(){varscore=0;$(".calc:checked").each(function(){score+=parseFloat($(this).val(),10);});$("input[name=openingsum]").val(s
我想将两个数组连接成一个。我发现有两个功能可以完成这项工作;一个是jQuery.merge(),另一个是JavaScript内置函数concat()。他们似乎做同样的事情,我发现this.它说:“合并创建更小的占用空间,因为它循环遍历原始数组并添加新项目。Concat是一个内置的Javascript函数,应该更快,但占用空间更大。”不知道这个说法是否属实,还有其他区别吗? 最佳答案 这句话是对的,这两个函数实际上并没有做同样的事情,一个将两个数组合并到一个(第一个参数)中,第二个从两个数组构建一个新数组。它所指的“足迹”是任何时候都
是否可以在jQuery中检索元素的指定字体?假设有css:#element{font-family:blahblah,Arial;}在上面的示例中,Arial字体将分配给#element。有没有办法通过JS/JQuery获取该信息?类似于:$('#element').css('font-family');只返回blahblah,Arial; 最佳答案 (function($){$.fn.detectFont=function(){varfonts=$(this).css('font-family').split(",");if(fo
您好,我想将两个div的CSS不透明度与该元素的滚动量绑定(bind)。例如假设我有两个div:当红色div进入视口(viewport)时,其不透明度从0变为100-取决于滚动量。同样,当蓝色div进入视口(viewport)时,其不透明度从100变为0,具体取决于滚动量。我找到了这个Jquery/JavascriptOpacityanimationwithscroll-varfadeStart=100//100pxscrollorlesswillequivto1opacity,fadeUntil=200//200pxscrollormorewillequivto0opacity,fa
我尝试使用jQuery.ajax提交带有文件的表单。Google说我应该使用FormData,它会自动将文件和所有输入编码到我可以通过XHR发送的一个对象中。嗯,FormData对象是空的。它在调试器和服务器端都是空的。我找不到错误。这是代码。浏览器为Firefox27。Image:$(document).ready(function(){$("#generate_params").submit(function(e){vardata=newFormData(this);$.ajax({data:data,method:"POST",success:function(url){aler
我在输入表单中使用日期选择器,并通过json将结果发送到数据库。我正在使用这一行,从datePicker中获取日期:date=$("#datepicker").datepicker('getDate');现在,我希望它返回2014-04-03T00:00:00.000Z但实际上它返回2014-04-02T22:00:00.000Z请注意两个小时的差异,这也会无意中更改月份中的日期。我没有用小时和更小的时间单位。但是我确实希望日期是正确的,而不是在我的代码中添加可怕的+1。我怀疑这与时区有关,但我似乎无法在文档或其他在线问答中找到解决方案。谁能指出我正确的方向?如果重要的话,我的时区是G